const { ErrorModel } = require('../model/ResModel')

/**
 * 生成 json schema 验证的中间件
 * @param { function } validateFn 验证函数
 * @returns 
 */
function genValidator(validateFn) {
    async function validator(ctx, next) {
        const params = ctx.request.body
        const error = validateFn(params)
        if(error) {
            ctx.body = ErrorModel.jsonSchemaFailInfo()
            return 
        }
        await next()
    }
    return validator
}

module.exports = {
    genValidator
}